Branch-and-Cut Algorithms for Combinatorial Optimization and Their Implementation in ABACUS
نویسندگان
چکیده
Branch-and-cut (-and-price) algorithms belong to the most successful techniques for solving mixed integer linear programs and combinatorial optimization problems to optimality (or, at least, with certified quality). In this unit, we concentrate on sequential branch-and-cut for hard combinatorial optimization problems, while branch-and-cut for general mixed integer linear programming is treated in [−→ Martin] and parallel branch-and-cut is treated in [−→ Ralphs/Trotter]. After telling our most recent story of a successful application of branch-and-cut in Section 1, we give in Section 2 a brief review of the history, including the contributions of pioneers with an emphasis on the computational aspects of their work. In Section 3, the components of a generic branch-and-cut algorithm are described and illustrated on the traveling salesman problem. In Section 4 we first elaborate a bit on the important separation problem where we use the traveling salesman problem and the maximum cut problem as examples, then we show how branch-and-cut can be applied to problems with exponentially many variables (branch-and-cut-and-price). Section 5 is devoted to the design and applications of the ABACUS software framework for the implementation of branch-and-cut algorithms. Finally, in Section 6, we make a few remarks on the solution of the exercise consisting of the design of a simple TSP-solver in ABACUS. 1 Our Most Recent Story Branch-and-cut has become a widely used method for the solution of hard integer of mixed integer problems. We refer to a recent survey of Caprara and Fischetti [12] for a view on its wide range of applications. In this chapter the emphasis will be mostly on combinatorial optimization problems. Before going into a brief historical tour through the main algorithmic achievements that lead to or are connected with branch-and-cut, hoping to get reader’s interest before entering into more technical topics, we want to report on our most recent experience with this method. The little story that follows in not only an example where branch-and-cut was quite useful, but shows also how combinatorial optimization can sometimes provide an excellent modeling tool to solve real world problems. During the seminar “Constraint Programming and Integer Programming” in Schloß Dagstuhl, Germany, 17–21 January 2000, the participants tried to identify problems for which a fruitful interaction/competition of constraint programming techniques and integer/combinatorial optimization techniques appears challenging and is likely to enhance the interaction of both communities. One problem area the participants agreed upon consists of various feasibility/optimization problems occurring in scheduling sports tournaments. The break minimization problem for sports leagues was addressed by both communities during the workshop, in particular by Jean Charles Régin of the constraint programming community and by Michael Trick of the integer programming/combinatorial optimization community. 2 Elf/Gutwenger/Jünger/Rinaldi 1.1 Break Minimization We deal with the situation where in a sports league consisting of an even number n of teams each team plays each other team once in n − 1 consecutive weeks. Each game is played in one of the two opponents home towns, such that the following restrictions apply to each feasible schedule: F1 For each team, the teams played in weeks 1, . . . , n − 1 are a permutation of all other teams. F2 If in week w team i plays team j “at home” (“+”) then team j plays team i in week w in i’s town, i.e., “away” (“−”). Fig. 1 shows two possible schedules for a league of eight teams. The rows show the game plan for each team, column 1 displays a team, column w ∈ {2, . . . , n} show the opponent in week w − 1, “+”, and “−”, respectively, indicate if the game is at home or away. In sports 1 : +2 −3 −4 +5 +6 −7 +8 2 : −1 +7 −5 +4 −3 −8 +6 3 : −7 +1 +8 −6 +2 +5 −4 4 : +5 −8 +1 −2 +7 −6 +3 5 : −4 −6 +2 −1 +8 −3 +7 6 : +8 +5 −7 +3 −1 +4 −2 7 : +3 −2 +6 −8 −4 +1 −5 8 : −6 +4 −3 +7 −5 +2 −1 (a) 1 : +8 +3 −5 +7 −2 +4 −6 2 : +7 −8 +4 −6 +1 −3 +5 3 : +6 −1 +8 +5 −7 +2 −4 4 : −5 +7 −2 −8 +6 −1 +3 5 : +4 −6 +1 −3 +8 +7 −2 6 : −3 +5 −7 +2 −4 −8 +1 7 : −2 −4 +6 −1 +3 −5 +8 8 : −1 +2 −3 +4 −5 +6 −7
منابع مشابه
The ABACUS system for branch-and-cut-and-price algorithms in integer programming and combinatorial optimization
The development of new mathematical theory and its application in software systems for the solution of hard optimization problems have a long tradition in mathematical programming. In this tradition we implemented ABACUS, an object-oriented software framework for branch-and-cut-and-price algorithms for the solution of mixed integer and combinatorial optimization problems. This paper discusses s...
متن کاملThe Design of the Branch-and-cut System Abacus
The software system ABACUS is an object-oriented framework for the implementation of branch-and-cut and branch-and-price algorithms. This paper describes the design of ABACUS including the design principles and the most important classes.
متن کاملThe Design of the Branch - and - Cut SystemABACUSMichael
The software system ABACUS is an object-oriented framework for the implementation of branch-and-cut and branch-and-price algorithms. This paper describes the design of ABACUS including the design principles and the most important classes.
متن کاملBranch-and-cut Algorithms for Integer Programming, Branch-and-cut
Branch-and-cut methods are exact algorithms for integer programming problems. They consist of a combination of a cutting plane method with a branch-and-bound algorithm. These methods work by solving a sequence of linear programming relaxations of the integer programming problem. Cutting plane methods improve the relaxation of the problem to more closely approximate the integer programming probl...
متن کاملParallel Search-Based Methods in Optimization
Search-based methods like Branch and Bound and Branch and Cut are essential tools in solving diicult problems to optimality in the eld of combinatorial optimization, and much experience has been gathered regarding the design and implementation of parallel methods in this eld. Search-based methods appear, however, also in connection with certain continuous optimization problems and problems in A...
متن کامل